Computer Programming WebAssembly এর মাধ্যমে Function Parameters এবং Return Values গাইড ও নোট

292

WebAssembly এর মাধ্যমে Function Parameters এবং Return Values

WebAssembly (WASM) কোডে ফাংশন ডিফাইন করার সময়, আপনাকে parameters (প্যারামিটার) এবং return values (রিটার্ন ভ্যালু) সম্পর্কে চিন্তা করতে হয়। WebAssembly একটি স্ট্যাটিক টাইপিং ভাষা হওয়ায়, এটি প্যারামিটার এবং রিটার্ন ভ্যালুগুলোর টাইপ সঠিকভাবে নির্ধারণ করে এবং সেগুলি ফাংশনের মধ্যে পরিচালনা করে।

এখানে আমরা দেখব কীভাবে WebAssembly তে ফাংশন প্যারামিটার এবং রিটার্ন ভ্যালু ব্যবহৃত হয়।


1. WebAssembly তে ফাংশন প্যারামিটার এবং রিটার্ন ভ্যালু

1.1 WebAssembly এর Function Declaration

WebAssembly তে ফাংশন ডিফাইন করার সময়, আপনি ফাংশনের প্যারামিটার এবং রিটার্ন টাইপ উল্লেখ করেন। এটি param এবং result কিওয়ার্ড ব্যবহার করে করা হয়।

উদাহরণ:

(func $add (param $a i32) (param $b i32) (result i32)
  (i32.add
    (local.get $a)
    (local.get $b)
  )
)

এই উদাহরণে:

  • ফাংশন $add দুটি 32-বিট পূর্ণসংখ্যা (i32) প্যারামিটার হিসেবে গ্রহণ করে।
  • i32.add ইনস্ট্রাকশনটি দুটি প্যারামিটার যোগ করে।
  • ফাংশনটি একটি 32-বিট পূর্ণসংখ্যা (i32) রিটার্ন করে।

2. Parameters এবং Return Values ব্যবহার

WebAssembly কোডে ফাংশন প্যারামিটার এবং রিটার্ন ভ্যালু ব্যবহার করার সময়, প্যারামিটারগুলোর মান ফাংশনের মধ্যে স্থানান্তরিত হতে হয়, এবং রিটার্ন ভ্যালু কোডের বাইরে পাঠানো হয়। চলুন এই বিষয়টিকে আরও বিস্তারিতভাবে দেখি।

2.1 ফাংশন প্যারামিটার

ফাংশনের প্যারামিটার WebAssembly তে param কিওয়ার্ড দিয়ে ডিফাইন করা হয়। উদাহরণস্বরূপ, যদি একটি ফাংশন দুটি পূর্ণসংখ্যা গ্রহণ করে, তাহলে সেই ফাংশনটি এইভাবে ডিফাইন করা হবে:

(func $multiply (param $x i32) (param $y i32) (result i32)
  (i32.mul
    (local.get $x)
    (local.get $y)
  )
)

এখানে:

  • $x এবং $y হলো ফাংশনের প্যারামিটার।
  • i32.mul দুটি i32 মানকে গুণ করে এবং ফলাফল প্রদান করে।

2.2 ফাংশন রিটার্ন ভ্যালু

WebAssembly তে ফাংশন থেকে মান রিটার্ন করতে result কিওয়ার্ড ব্যবহার করা হয়। উদাহরণস্বরূপ:

(func $add (param $a i32) (param $b i32) (result i32)
  (i32.add
    (local.get $a)
    (local.get $b)
  )
)

এখানে:

  • i32.add দুটি i32 প্যারামিটারকে যোগ করে এবং একটি i32 রিটার্ন করে।

2.3 ফাংশন কল এবং রিটার্ন ভ্যালু এক্সেস

একটি ফাংশন কল করার সময়, আপনি ফাংশন প্যারামিটার প্রদান করবেন এবং রিটার্ন ভ্যালু গ্রহণ করবেন। উদাহরণ:

(func $call_add (result i32)
  (call $add (i32.const 5) (i32.const 7))
)

এখানে:

  • $call_add ফাংশন $add ফাংশন কল করছে এবং দুটি ইনপুট (i32.const 5 এবং i32.const 7) পাঠাচ্ছে।
  • $add ফাংশন দুটি প্যারামিটার যোগ করে এবং একটি 32-বিট পূর্ণসংখ্যা রিটার্ন করবে, যা $call_add ফাংশনে ফেরত আসবে।

3. Complete Example: Parameters and Return Values in WebAssembly

এখানে একটি পূর্ণ উদাহরণ দেওয়া হলো যেখানে একটি WebAssembly মডিউল ফাংশন প্যারামিটার গ্রহণ করে এবং রিটার্ন ভ্যালু প্রদান করে:

(module
  (func $multiply (param $x i32) (param $y i32) (result i32)
    (i32.mul
      (local.get $x)
      (local.get $y)
    )
  )
  (func $add (param $a i32) (param $b i32) (result i32)
    (i32.add
      (local.get $a)
      (local.get $b)
    )
  )
  (export "multiply" (func $multiply))
  (export "add" (func $add))
)

এখানে:

  • $multiply ফাংশন দুটি 32-বিট পূর্ণসংখ্যা (integers) গ্রহণ করে এবং তাদের গুণফল রিটার্ন করে।
  • $add ফাংশন দুটি 32-বিট পূর্ণসংখ্যা গ্রহণ করে এবং তাদের যোগফল রিটার্ন করে।
  • উভয় ফাংশনই export করা হয়েছে যাতে বাইরের কোড তাদের কল করতে পারে।

4. JavaScript এর মাধ্যমে WebAssembly ফাংশন কল

WebAssembly মডিউল থেকে JavaScript কোডে ফাংশন কল করা এবং রিটার্ন ভ্যালু গ্রহণ করা সম্ভব। উদাহরণ:

fetch('your_module.wasm')
  .then(response => response.arrayBuffer())
  .then(bytes => WebAssembly.instantiate(bytes))
  .then(wasmModule => {
    const { multiply, add } = wasmModule.instance.exports;
    
    // ফাংশন কল এবং রিটার্ন ভ্যালু গ্রহণ
    const result1 = multiply(5, 3); // 15
    const result2 = add(7, 8);      // 15
    
    console.log('Multiply Result:', result1);
    console.log('Add Result:', result2);
  })
  .catch(console.error);

এখানে:

  • WebAssembly মডিউলটি JavaScript কোডে লোড হচ্ছে।
  • WebAssembly ফাংশন $multiply এবং $add JavaScript থেকে কল করা হচ্ছে এবং তাদের রিটার্ন ভ্যালু গ্রহণ করা হচ্ছে।

সারসংক্ষেপ

WebAssembly তে ফাংশন প্যারামিটার এবং রিটার্ন ভ্যালু ব্যবহারের জন্য আপনি param এবং result কিওয়ার্ড ব্যবহার করেন। WebAssembly ফাংশন প্যারামিটার গ্রহণ করে এবং নির্দিষ্ট টাইপের রিটার্ন ভ্যালু প্রদান করে। JavaScript এর মাধ্যমে WebAssembly মডিউল থেকে ফাংশন কল করা যায় এবং তাদের রিটার্ন ভ্যালু ব্যবহার করা সম্ভব। WebAssembly তে ফাংশন প্যারামিটার এবং রিটার্ন ভ্যালু ব্যবহারের মাধ্যমে আপনি শক্তিশালী এবং কার্যকরী ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...